package com.ruoyi.storage.mapper;

import java.util.List;
import com.ruoyi.storage.domain.ProcessingRecord;
import com.ruoyi.storage.domain.ProcessingDetail;

/**
 * 加工单管理Mapper接口
 * 
 * @author 庞一恺
 * @date 2025-01-11
 */
public interface ProcessingRecordMapper 
{
    /**
     * 查询加工单管理
     * 
     * @param processId 加工单管理主键
     * @return 加工单管理
     */
    public ProcessingRecord selectProcessingRecordByProcessId(Long processId);

    /**
     * 查询加工单管理列表
     * 
     * @param processingRecord 加工单管理
     * @return 加工单管理集合
     */
    public List<ProcessingRecord> selectProcessingRecordList(ProcessingRecord processingRecord);

    /**
     * 新增加工单管理
     * 
     * @param processingRecord 加工单管理
     * @return 结果
     */
    public int insertProcessingRecord(ProcessingRecord processingRecord);

    /**
     * 修改加工单管理
     * 
     * @param processingRecord 加工单管理
     * @return 结果
     */
    public int updateProcessingRecord(ProcessingRecord processingRecord);

    /**
     * 删除加工单管理
     * 
     * @param processId 加工单管理主键
     * @return 结果
     */
    public int deleteProcessingRecordByProcessId(Long processId);

    /**
     * 批量删除加工单管理
     * 
     * @param processIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteProcessingRecordByProcessIds(Long[] processIds);

    /**
     * 批量删除加工详情
     * 
     * @param processIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteProcessingDetailByProcessIds(Long[] processIds);
    
    /**
     * 批量新增加工详情
     * 
     * @param processingDetailList 加工详情列表
     * @return 结果
     */
    public int batchProcessingDetail(List<ProcessingDetail> processingDetailList);
    

    /**
     * 通过加工单管理主键删除加工详情信息
     * 
     * @param processId 加工单管理ID
     * @return 结果
     */
    public int deleteProcessingDetailByProcessId(Long processId);
}
